<?php
// // //方法修饰符有：static、final、abstract
// // //static.静态的
// // class Student{
// //     public static $name='阿巴阿巴';
// //     static public function show(){
// //         echo "我是一个静态方法";
// //     }
// // }
// // echo Student::$name;
// // Student::show();

// //统计在线人数
// class Student{
//     private static $num=0;//静态变量，载内存中只有一份
//     public function __construct()
//     {
//         self::$num++;///self表示所在类的类名
//     }
//     public function __destruct()
//     {
//         self::$num--;
//     }
//     public function show(){
//         echo "在线人数：".self::$num;
//     }
// }
// $stul=new Student();
// $stu2=new Student();
// $stu3=new Student();
// $stu3->show();
// unset($stu1);
// $stu3->show();

// 抽象方法  abstract：抽象的
// 一个类里的一个方法是抽象方法，这个类必须是抽象类
// abstract修饰的方法是抽象方法，修饰的类是抽象类
//抽象类不能被实例化
// abstract class Student{
//     public abstract function show();//抽象方法 只有声明，没有实现
// }
// class child extends Student{
//     public function show(){
//         echo "abcd";
//     }
//     public function say(){
//         echo "abcd";
//     }
// }
// //new Student();
// $stu=new child();
// $stu->show();

//接口
//如果一个类中所有的方法都是抽象方法，那么这个抽象类可以声明成接口

//声明接口
interface Student{
    function say();
    function speek();
}
//实现接口
class Child implements Student{
    public function say(){
        echo "abab";
    }
    public function speek(){
        echo "ababdd";
    }
}
$stu=new Child();
$stu->say();
?>